package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 专栏或课程权限
 */
@ApiModel(value = "com-lanchetech-entity-ColumnCourseAuth")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ColumnCourseAuth implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long userId;

    /**
     * SPU编号
     */
    @ApiModelProperty(value = "SPU编号")
    private Long spuId;

    /**
     * SKU编号
     */
    @ApiModelProperty(value = "SKU编号")
    private Long skuId;

    /**
     * 专栏id
     */
    @ApiModelProperty(value = "专栏id")
    private Long columnId;

    /**
     * 课程id
     */
    @ApiModelProperty(value = "课程id")
    private Long courseId;

    /**
     * 类型 0 专栏级 1 课程级
     */
    @ApiModelProperty(value = "类型 0 专栏级 1 课程级")
    private Byte type;

    /**
     * 关联的订单明细编号
     */
    @ApiModelProperty(value = "关联的订单明细编号")
    private Long orderSkuId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    private static final long serialVersionUID = 1L;

    public static ColumnCourseAuthBuilder builder() {
        return new ColumnCourseAuthBuilder();
    }
}